{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>testS3</title>
</head>
<!--在 script 标签引用 SDK 时，SDK 占用了全局变量名 COS，通过它的构造函数可以创建 SDK 实例。-->
<script src="{%static 'cos-js-sdk-v5-master/dist/cos-js-sdk-v5.min.js'%}"></script>

<!--设置jsonp，允许跨域连接 -->
<script type="text/javascript" src="http://www.practice-zhao.com/remote.js"></script>
<script src="{% static  'js/jquery.min.js' %}"></script>
<body>
<input id="file-selector" type="file">
<tbody id="tb"></tbody>
<script>

var Bucket = '';
var Region = '';
//创建cos实例
var cos = new COS({
    // getAuthorization 必选参数
    getAuthorization: function (options, callback) {
        // 异步获取临时密钥
        // 服务端 JS 和 PHP 例子：https://github.com/tencentyun/cos-js-sdk-v5/blob/master/server/
        // 服务端其他语言参考 COS STS SDK ：https://github.com/tencentyun/qcloud-cos-sts-sdk
        // STS 详细文档指引看：https://cloud.tencent.com/document/product/436/14048
        var url = '/medical/getSTSResult/'; // url替换成您自己的后端服务
        $.ajax({
            type:"GET",
            async:true,
            url: url,
            data:{'id':1},
            success:function (e) {
                try {
                    var data = JSON.parse(e);
                    //从后台获取的bucket和region
                    Bucket = data.bucket;
                    Region = data.region;
                    callback({
                    TmpSecretId: data.credentials.tmpSecretId, //临时密钥id
                    TmpSecretKey: data.credentials.tmpSecretKey,//临时密钥
                    SecurityToken: data.credentials.sessionToken, //请求时需要用的 token 字符串
                    // 建议返回服务器时间作为签名的开始时间，避免用户浏览器本地时间偏差过大导致签名错误
                    StartTime: data.startTime, // 临时密钥起始时间
                    ExpiredTime: data.expiredTime, // 临时密钥失效时间
                    });

                } catch (e) {
                }
            },
            error:function () {
                alert("请检查数据库中固定密钥，桶，地区")
            }
        });
    }
});

// 监听选文件
document.getElementById('file-selector').onchange = function () {
    var file = this.files[0];
    if (!file) return;
    cos.putObject({
        Bucket: Bucket, /* 填入您自己的存储桶，必须字段 */
        Region: Region,  /* 存储桶所在地域，例如ap-beijing，必须字段 */
        Key: 'videos/'+file.name,  /* 存储在桶里的对象键（例如1.jpg，a/b/test.txt），必须字段 */
        StorageClass: 'STANDARD',
        Body: file, // 上传文件对象
        onProgress: function(progressData) {
            console.log(JSON.stringify(progressData));
        }
    }, function(err, data) {
        console.log(err || data);
    });
};

</script>
</body>

</html>